package com.cncf.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ReportExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ReportExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andReportNumberIsNull() {
            addCriterion("report_number is null");
            return (Criteria) this;
        }

        public Criteria andReportNumberIsNotNull() {
            addCriterion("report_number is not null");
            return (Criteria) this;
        }

        public Criteria andReportNumberEqualTo(String value) {
            addCriterion("report_number =", value, "reportNumber");
            return (Criteria) this;
        }

        public Criteria andReportNumberNotEqualTo(String value) {
            addCriterion("report_number <>", value, "reportNumber");
            return (Criteria) this;
        }

        public Criteria andReportNumberGreaterThan(String value) {
            addCriterion("report_number >", value, "reportNumber");
            return (Criteria) this;
        }

        public Criteria andReportNumberGreaterThanOrEqualTo(String value) {
            addCriterion("report_number >=", value, "reportNumber");
            return (Criteria) this;
        }

        public Criteria andReportNumberLessThan(String value) {
            addCriterion("report_number <", value, "reportNumber");
            return (Criteria) this;
        }

        public Criteria andReportNumberLessThanOrEqualTo(String value) {
            addCriterion("report_number <=", value, "reportNumber");
            return (Criteria) this;
        }

        public Criteria andReportNumberLike(String value) {
            addCriterion("report_number like", value, "reportNumber");
            return (Criteria) this;
        }

        public Criteria andReportNumberNotLike(String value) {
            addCriterion("report_number not like", value, "reportNumber");
            return (Criteria) this;
        }

        public Criteria andReportNumberIn(List<String> values) {
            addCriterion("report_number in", values, "reportNumber");
            return (Criteria) this;
        }

        public Criteria andReportNumberNotIn(List<String> values) {
            addCriterion("report_number not in", values, "reportNumber");
            return (Criteria) this;
        }

        public Criteria andReportNumberBetween(String value1, String value2) {
            addCriterion("report_number between", value1, value2, "reportNumber");
            return (Criteria) this;
        }

        public Criteria andReportNumberNotBetween(String value1, String value2) {
            addCriterion("report_number not between", value1, value2, "reportNumber");
            return (Criteria) this;
        }

        public Criteria andProductIdIsNull() {
            addCriterion("product_id is null");
            return (Criteria) this;
        }

        public Criteria andProductIdIsNotNull() {
            addCriterion("product_id is not null");
            return (Criteria) this;
        }

        public Criteria andProductIdEqualTo(String value) {
            addCriterion("product_id =", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotEqualTo(String value) {
            addCriterion("product_id <>", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdGreaterThan(String value) {
            addCriterion("product_id >", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdGreaterThanOrEqualTo(String value) {
            addCriterion("product_id >=", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdLessThan(String value) {
            addCriterion("product_id <", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdLessThanOrEqualTo(String value) {
            addCriterion("product_id <=", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdLike(String value) {
            addCriterion("product_id like", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotLike(String value) {
            addCriterion("product_id not like", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdIn(List<String> values) {
            addCriterion("product_id in", values, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotIn(List<String> values) {
            addCriterion("product_id not in", values, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdBetween(String value1, String value2) {
            addCriterion("product_id between", value1, value2, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotBetween(String value1, String value2) {
            addCriterion("product_id not between", value1, value2, "productId");
            return (Criteria) this;
        }

        public Criteria andCheckTypeNameIsNull() {
            addCriterion("check_type_name is null");
            return (Criteria) this;
        }

        public Criteria andCheckTypeNameIsNotNull() {
            addCriterion("check_type_name is not null");
            return (Criteria) this;
        }

        public Criteria andCheckTypeNameEqualTo(String value) {
            addCriterion("check_type_name =", value, "checkTypeName");
            return (Criteria) this;
        }

        public Criteria andCheckTypeNameNotEqualTo(String value) {
            addCriterion("check_type_name <>", value, "checkTypeName");
            return (Criteria) this;
        }

        public Criteria andCheckTypeNameGreaterThan(String value) {
            addCriterion("check_type_name >", value, "checkTypeName");
            return (Criteria) this;
        }

        public Criteria andCheckTypeNameGreaterThanOrEqualTo(String value) {
            addCriterion("check_type_name >=", value, "checkTypeName");
            return (Criteria) this;
        }

        public Criteria andCheckTypeNameLessThan(String value) {
            addCriterion("check_type_name <", value, "checkTypeName");
            return (Criteria) this;
        }

        public Criteria andCheckTypeNameLessThanOrEqualTo(String value) {
            addCriterion("check_type_name <=", value, "checkTypeName");
            return (Criteria) this;
        }

        public Criteria andCheckTypeNameLike(String value) {
            addCriterion("check_type_name like", value, "checkTypeName");
            return (Criteria) this;
        }

        public Criteria andCheckTypeNameNotLike(String value) {
            addCriterion("check_type_name not like", value, "checkTypeName");
            return (Criteria) this;
        }

        public Criteria andCheckTypeNameIn(List<String> values) {
            addCriterion("check_type_name in", values, "checkTypeName");
            return (Criteria) this;
        }

        public Criteria andCheckTypeNameNotIn(List<String> values) {
            addCriterion("check_type_name not in", values, "checkTypeName");
            return (Criteria) this;
        }

        public Criteria andCheckTypeNameBetween(String value1, String value2) {
            addCriterion("check_type_name between", value1, value2, "checkTypeName");
            return (Criteria) this;
        }

        public Criteria andCheckTypeNameNotBetween(String value1, String value2) {
            addCriterion("check_type_name not between", value1, value2, "checkTypeName");
            return (Criteria) this;
        }

        public Criteria andSpecificationIsNull() {
            addCriterion("specification is null");
            return (Criteria) this;
        }

        public Criteria andSpecificationIsNotNull() {
            addCriterion("specification is not null");
            return (Criteria) this;
        }

        public Criteria andSpecificationEqualTo(String value) {
            addCriterion("specification =", value, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationNotEqualTo(String value) {
            addCriterion("specification <>", value, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationGreaterThan(String value) {
            addCriterion("specification >", value, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationGreaterThanOrEqualTo(String value) {
            addCriterion("specification >=", value, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationLessThan(String value) {
            addCriterion("specification <", value, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationLessThanOrEqualTo(String value) {
            addCriterion("specification <=", value, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationLike(String value) {
            addCriterion("specification like", value, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationNotLike(String value) {
            addCriterion("specification not like", value, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationIn(List<String> values) {
            addCriterion("specification in", values, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationNotIn(List<String> values) {
            addCriterion("specification not in", values, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationBetween(String value1, String value2) {
            addCriterion("specification between", value1, value2, "specification");
            return (Criteria) this;
        }

        public Criteria andSpecificationNotBetween(String value1, String value2) {
            addCriterion("specification not between", value1, value2, "specification");
            return (Criteria) this;
        }

        public Criteria andCheckBasisIsNull() {
            addCriterion("check_basis is null");
            return (Criteria) this;
        }

        public Criteria andCheckBasisIsNotNull() {
            addCriterion("check_basis is not null");
            return (Criteria) this;
        }

        public Criteria andCheckBasisEqualTo(String value) {
            addCriterion("check_basis =", value, "checkBasis");
            return (Criteria) this;
        }

        public Criteria andCheckBasisNotEqualTo(String value) {
            addCriterion("check_basis <>", value, "checkBasis");
            return (Criteria) this;
        }

        public Criteria andCheckBasisGreaterThan(String value) {
            addCriterion("check_basis >", value, "checkBasis");
            return (Criteria) this;
        }

        public Criteria andCheckBasisGreaterThanOrEqualTo(String value) {
            addCriterion("check_basis >=", value, "checkBasis");
            return (Criteria) this;
        }

        public Criteria andCheckBasisLessThan(String value) {
            addCriterion("check_basis <", value, "checkBasis");
            return (Criteria) this;
        }

        public Criteria andCheckBasisLessThanOrEqualTo(String value) {
            addCriterion("check_basis <=", value, "checkBasis");
            return (Criteria) this;
        }

        public Criteria andCheckBasisLike(String value) {
            addCriterion("check_basis like", value, "checkBasis");
            return (Criteria) this;
        }

        public Criteria andCheckBasisNotLike(String value) {
            addCriterion("check_basis not like", value, "checkBasis");
            return (Criteria) this;
        }

        public Criteria andCheckBasisIn(List<String> values) {
            addCriterion("check_basis in", values, "checkBasis");
            return (Criteria) this;
        }

        public Criteria andCheckBasisNotIn(List<String> values) {
            addCriterion("check_basis not in", values, "checkBasis");
            return (Criteria) this;
        }

        public Criteria andCheckBasisBetween(String value1, String value2) {
            addCriterion("check_basis between", value1, value2, "checkBasis");
            return (Criteria) this;
        }

        public Criteria andCheckBasisNotBetween(String value1, String value2) {
            addCriterion("check_basis not between", value1, value2, "checkBasis");
            return (Criteria) this;
        }

        public Criteria andSampleLevelIsNull() {
            addCriterion("sample_level is null");
            return (Criteria) this;
        }

        public Criteria andSampleLevelIsNotNull() {
            addCriterion("sample_level is not null");
            return (Criteria) this;
        }

        public Criteria andSampleLevelEqualTo(String value) {
            addCriterion("sample_level =", value, "sampleLevel");
            return (Criteria) this;
        }

        public Criteria andSampleLevelNotEqualTo(String value) {
            addCriterion("sample_level <>", value, "sampleLevel");
            return (Criteria) this;
        }

        public Criteria andSampleLevelGreaterThan(String value) {
            addCriterion("sample_level >", value, "sampleLevel");
            return (Criteria) this;
        }

        public Criteria andSampleLevelGreaterThanOrEqualTo(String value) {
            addCriterion("sample_level >=", value, "sampleLevel");
            return (Criteria) this;
        }

        public Criteria andSampleLevelLessThan(String value) {
            addCriterion("sample_level <", value, "sampleLevel");
            return (Criteria) this;
        }

        public Criteria andSampleLevelLessThanOrEqualTo(String value) {
            addCriterion("sample_level <=", value, "sampleLevel");
            return (Criteria) this;
        }

        public Criteria andSampleLevelLike(String value) {
            addCriterion("sample_level like", value, "sampleLevel");
            return (Criteria) this;
        }

        public Criteria andSampleLevelNotLike(String value) {
            addCriterion("sample_level not like", value, "sampleLevel");
            return (Criteria) this;
        }

        public Criteria andSampleLevelIn(List<String> values) {
            addCriterion("sample_level in", values, "sampleLevel");
            return (Criteria) this;
        }

        public Criteria andSampleLevelNotIn(List<String> values) {
            addCriterion("sample_level not in", values, "sampleLevel");
            return (Criteria) this;
        }

        public Criteria andSampleLevelBetween(String value1, String value2) {
            addCriterion("sample_level between", value1, value2, "sampleLevel");
            return (Criteria) this;
        }

        public Criteria andSampleLevelNotBetween(String value1, String value2) {
            addCriterion("sample_level not between", value1, value2, "sampleLevel");
            return (Criteria) this;
        }

        public Criteria andCheckItemIsNull() {
            addCriterion("check_item is null");
            return (Criteria) this;
        }

        public Criteria andCheckItemIsNotNull() {
            addCriterion("check_item is not null");
            return (Criteria) this;
        }

        public Criteria andCheckItemEqualTo(String value) {
            addCriterion("check_item =", value, "checkItem");
            return (Criteria) this;
        }

        public Criteria andCheckItemNotEqualTo(String value) {
            addCriterion("check_item <>", value, "checkItem");
            return (Criteria) this;
        }

        public Criteria andCheckItemGreaterThan(String value) {
            addCriterion("check_item >", value, "checkItem");
            return (Criteria) this;
        }

        public Criteria andCheckItemGreaterThanOrEqualTo(String value) {
            addCriterion("check_item >=", value, "checkItem");
            return (Criteria) this;
        }

        public Criteria andCheckItemLessThan(String value) {
            addCriterion("check_item <", value, "checkItem");
            return (Criteria) this;
        }

        public Criteria andCheckItemLessThanOrEqualTo(String value) {
            addCriterion("check_item <=", value, "checkItem");
            return (Criteria) this;
        }

        public Criteria andCheckItemLike(String value) {
            addCriterion("check_item like", value, "checkItem");
            return (Criteria) this;
        }

        public Criteria andCheckItemNotLike(String value) {
            addCriterion("check_item not like", value, "checkItem");
            return (Criteria) this;
        }

        public Criteria andCheckItemIn(List<String> values) {
            addCriterion("check_item in", values, "checkItem");
            return (Criteria) this;
        }

        public Criteria andCheckItemNotIn(List<String> values) {
            addCriterion("check_item not in", values, "checkItem");
            return (Criteria) this;
        }

        public Criteria andCheckItemBetween(String value1, String value2) {
            addCriterion("check_item between", value1, value2, "checkItem");
            return (Criteria) this;
        }

        public Criteria andCheckItemNotBetween(String value1, String value2) {
            addCriterion("check_item not between", value1, value2, "checkItem");
            return (Criteria) this;
        }

        public Criteria andTestResultIsNull() {
            addCriterion("test_result is null");
            return (Criteria) this;
        }

        public Criteria andTestResultIsNotNull() {
            addCriterion("test_result is not null");
            return (Criteria) this;
        }

        public Criteria andTestResultEqualTo(String value) {
            addCriterion("test_result =", value, "testResult");
            return (Criteria) this;
        }

        public Criteria andTestResultNotEqualTo(String value) {
            addCriterion("test_result <>", value, "testResult");
            return (Criteria) this;
        }

        public Criteria andTestResultGreaterThan(String value) {
            addCriterion("test_result >", value, "testResult");
            return (Criteria) this;
        }

        public Criteria andTestResultGreaterThanOrEqualTo(String value) {
            addCriterion("test_result >=", value, "testResult");
            return (Criteria) this;
        }

        public Criteria andTestResultLessThan(String value) {
            addCriterion("test_result <", value, "testResult");
            return (Criteria) this;
        }

        public Criteria andTestResultLessThanOrEqualTo(String value) {
            addCriterion("test_result <=", value, "testResult");
            return (Criteria) this;
        }

        public Criteria andTestResultLike(String value) {
            addCriterion("test_result like", value, "testResult");
            return (Criteria) this;
        }

        public Criteria andTestResultNotLike(String value) {
            addCriterion("test_result not like", value, "testResult");
            return (Criteria) this;
        }

        public Criteria andTestResultIn(List<String> values) {
            addCriterion("test_result in", values, "testResult");
            return (Criteria) this;
        }

        public Criteria andTestResultNotIn(List<String> values) {
            addCriterion("test_result not in", values, "testResult");
            return (Criteria) this;
        }

        public Criteria andTestResultBetween(String value1, String value2) {
            addCriterion("test_result between", value1, value2, "testResult");
            return (Criteria) this;
        }

        public Criteria andTestResultNotBetween(String value1, String value2) {
            addCriterion("test_result not between", value1, value2, "testResult");
            return (Criteria) this;
        }

        public Criteria andSignatureDateIsNull() {
            addCriterion("signature_date is null");
            return (Criteria) this;
        }

        public Criteria andSignatureDateIsNotNull() {
            addCriterion("signature_date is not null");
            return (Criteria) this;
        }

        public Criteria andSignatureDateEqualTo(Date value) {
            addCriterion("signature_date =", value, "signatureDate");
            return (Criteria) this;
        }

        public Criteria andSignatureDateNotEqualTo(Date value) {
            addCriterion("signature_date <>", value, "signatureDate");
            return (Criteria) this;
        }

        public Criteria andSignatureDateGreaterThan(Date value) {
            addCriterion("signature_date >", value, "signatureDate");
            return (Criteria) this;
        }

        public Criteria andSignatureDateGreaterThanOrEqualTo(Date value) {
            addCriterion("signature_date >=", value, "signatureDate");
            return (Criteria) this;
        }

        public Criteria andSignatureDateLessThan(Date value) {
            addCriterion("signature_date <", value, "signatureDate");
            return (Criteria) this;
        }

        public Criteria andSignatureDateLessThanOrEqualTo(Date value) {
            addCriterion("signature_date <=", value, "signatureDate");
            return (Criteria) this;
        }

        public Criteria andSignatureDateIn(List<Date> values) {
            addCriterion("signature_date in", values, "signatureDate");
            return (Criteria) this;
        }

        public Criteria andSignatureDateNotIn(List<Date> values) {
            addCriterion("signature_date not in", values, "signatureDate");
            return (Criteria) this;
        }

        public Criteria andSignatureDateBetween(Date value1, Date value2) {
            addCriterion("signature_date between", value1, value2, "signatureDate");
            return (Criteria) this;
        }

        public Criteria andSignatureDateNotBetween(Date value1, Date value2) {
            addCriterion("signature_date not between", value1, value2, "signatureDate");
            return (Criteria) this;
        }

        public Criteria andInvalidStartDateIsNull() {
            addCriterion("invalid_start_date is null");
            return (Criteria) this;
        }

        public Criteria andInvalidStartDateIsNotNull() {
            addCriterion("invalid_start_date is not null");
            return (Criteria) this;
        }

        public Criteria andInvalidStartDateEqualTo(Date value) {
            addCriterion("invalid_start_date =", value, "invalidStartDate");
            return (Criteria) this;
        }

        public Criteria andInvalidStartDateNotEqualTo(Date value) {
            addCriterion("invalid_start_date <>", value, "invalidStartDate");
            return (Criteria) this;
        }

        public Criteria andInvalidStartDateGreaterThan(Date value) {
            addCriterion("invalid_start_date >", value, "invalidStartDate");
            return (Criteria) this;
        }

        public Criteria andInvalidStartDateGreaterThanOrEqualTo(Date value) {
            addCriterion("invalid_start_date >=", value, "invalidStartDate");
            return (Criteria) this;
        }

        public Criteria andInvalidStartDateLessThan(Date value) {
            addCriterion("invalid_start_date <", value, "invalidStartDate");
            return (Criteria) this;
        }

        public Criteria andInvalidStartDateLessThanOrEqualTo(Date value) {
            addCriterion("invalid_start_date <=", value, "invalidStartDate");
            return (Criteria) this;
        }

        public Criteria andInvalidStartDateIn(List<Date> values) {
            addCriterion("invalid_start_date in", values, "invalidStartDate");
            return (Criteria) this;
        }

        public Criteria andInvalidStartDateNotIn(List<Date> values) {
            addCriterion("invalid_start_date not in", values, "invalidStartDate");
            return (Criteria) this;
        }

        public Criteria andInvalidStartDateBetween(Date value1, Date value2) {
            addCriterion("invalid_start_date between", value1, value2, "invalidStartDate");
            return (Criteria) this;
        }

        public Criteria andInvalidStartDateNotBetween(Date value1, Date value2) {
            addCriterion("invalid_start_date not between", value1, value2, "invalidStartDate");
            return (Criteria) this;
        }

        public Criteria andInvalidReasonIsNull() {
            addCriterion("invalid_reason is null");
            return (Criteria) this;
        }

        public Criteria andInvalidReasonIsNotNull() {
            addCriterion("invalid_reason is not null");
            return (Criteria) this;
        }

        public Criteria andInvalidReasonEqualTo(String value) {
            addCriterion("invalid_reason =", value, "invalidReason");
            return (Criteria) this;
        }

        public Criteria andInvalidReasonNotEqualTo(String value) {
            addCriterion("invalid_reason <>", value, "invalidReason");
            return (Criteria) this;
        }

        public Criteria andInvalidReasonGreaterThan(String value) {
            addCriterion("invalid_reason >", value, "invalidReason");
            return (Criteria) this;
        }

        public Criteria andInvalidReasonGreaterThanOrEqualTo(String value) {
            addCriterion("invalid_reason >=", value, "invalidReason");
            return (Criteria) this;
        }

        public Criteria andInvalidReasonLessThan(String value) {
            addCriterion("invalid_reason <", value, "invalidReason");
            return (Criteria) this;
        }

        public Criteria andInvalidReasonLessThanOrEqualTo(String value) {
            addCriterion("invalid_reason <=", value, "invalidReason");
            return (Criteria) this;
        }

        public Criteria andInvalidReasonLike(String value) {
            addCriterion("invalid_reason like", value, "invalidReason");
            return (Criteria) this;
        }

        public Criteria andInvalidReasonNotLike(String value) {
            addCriterion("invalid_reason not like", value, "invalidReason");
            return (Criteria) this;
        }

        public Criteria andInvalidReasonIn(List<String> values) {
            addCriterion("invalid_reason in", values, "invalidReason");
            return (Criteria) this;
        }

        public Criteria andInvalidReasonNotIn(List<String> values) {
            addCriterion("invalid_reason not in", values, "invalidReason");
            return (Criteria) this;
        }

        public Criteria andInvalidReasonBetween(String value1, String value2) {
            addCriterion("invalid_reason between", value1, value2, "invalidReason");
            return (Criteria) this;
        }

        public Criteria andInvalidReasonNotBetween(String value1, String value2) {
            addCriterion("invalid_reason not between", value1, value2, "invalidReason");
            return (Criteria) this;
        }

        public Criteria andReportFilePathIsNull() {
            addCriterion("report_file_path is null");
            return (Criteria) this;
        }

        public Criteria andReportFilePathIsNotNull() {
            addCriterion("report_file_path is not null");
            return (Criteria) this;
        }

        public Criteria andReportFilePathEqualTo(String value) {
            addCriterion("report_file_path =", value, "reportFilePath");
            return (Criteria) this;
        }

        public Criteria andReportFilePathNotEqualTo(String value) {
            addCriterion("report_file_path <>", value, "reportFilePath");
            return (Criteria) this;
        }

        public Criteria andReportFilePathGreaterThan(String value) {
            addCriterion("report_file_path >", value, "reportFilePath");
            return (Criteria) this;
        }

        public Criteria andReportFilePathGreaterThanOrEqualTo(String value) {
            addCriterion("report_file_path >=", value, "reportFilePath");
            return (Criteria) this;
        }

        public Criteria andReportFilePathLessThan(String value) {
            addCriterion("report_file_path <", value, "reportFilePath");
            return (Criteria) this;
        }

        public Criteria andReportFilePathLessThanOrEqualTo(String value) {
            addCriterion("report_file_path <=", value, "reportFilePath");
            return (Criteria) this;
        }

        public Criteria andReportFilePathLike(String value) {
            addCriterion("report_file_path like", value, "reportFilePath");
            return (Criteria) this;
        }

        public Criteria andReportFilePathNotLike(String value) {
            addCriterion("report_file_path not like", value, "reportFilePath");
            return (Criteria) this;
        }

        public Criteria andReportFilePathIn(List<String> values) {
            addCriterion("report_file_path in", values, "reportFilePath");
            return (Criteria) this;
        }

        public Criteria andReportFilePathNotIn(List<String> values) {
            addCriterion("report_file_path not in", values, "reportFilePath");
            return (Criteria) this;
        }

        public Criteria andReportFilePathBetween(String value1, String value2) {
            addCriterion("report_file_path between", value1, value2, "reportFilePath");
            return (Criteria) this;
        }

        public Criteria andReportFilePathNotBetween(String value1, String value2) {
            addCriterion("report_file_path not between", value1, value2, "reportFilePath");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}